//
//  UIImage+BCHelper.h
//  Pod
//
//  Created by Basic on 2016/11/17.
//  Copyright © 2016年 naruto. All rights reserved.
//


#import <UIKit/UIKit.h>

@interface UIImage (BCHelper)

#pragma mark - 缩放到制定大小

- (UIImage *)bc_scaleFitToSize:(CGSize)size;
- (UIImage *)bc_scaleFillToSize:(CGSize)size;
- (UIImage *)bc_scaleWithMaxWidth:(CGFloat)width;

/**
 适配size

 @param originSize 原始size
 @param imageMinSize 最小sbize
 @param imageMaxSiz 最大size
 @return return value description
 */
+ (CGSize )bc_adaptSize:(CGSize)originSize minSize:(CGSize)imageMinSize maxSize:(CGSize)imageMaxSiz;

/**
 压缩图片到指定大小 kb

 @param img 原图
 @param sizeKB  指定大小kn
 @return return value description
 */
+ (UIImage *)bc_compressionImg:(UIImage *)img toSizeKB:(CGFloat )sizeKB;
+ (NSData *)bc_compressionData:(UIImage *)img toSizeKB:(CGFloat )sizeKB;

#pragma mark - 裁剪图片

/**
 裁剪图片

 @param rect rect description
 @return return value description
 */
- (UIImage *)bc_cutImg:(CGRect)rect;

/**
 添加透明度，生成一张新的image

 @param image image description
 @param alpha alpha description
 @return return value description
 */
+ (UIImage *)bc_addAlpha:(UIImage*)image alpha:(CGFloat )alpha;

#pragma mark - 创建图片

/**
 根据颜色创建图片，默认大小是{1，1}

 @param color 颜色
 @return return value description
 */
+ (UIImage*)bc_imageWithColor:(UIColor*)color;

/**
 根据颜色创建图片

 @param color 底色
 @param imgSize 图片大小，如果是{0,0}，则默认创建{1,1}大小
 @return return value description
 */
+ (UIImage *)bc_imageWithColor:(UIColor *)color withSize:(CGSize )imgSize;

/**
 根据颜色创建图片，可以追加draw block

 @param color 底色
 @param imgSize 图片大小，如果是{0,0}，则默认创建{1,1}大小
 @param drawBlock 追加的draw block
 @return return value description
 */
+ (UIImage *)bc_imageWithColor:(UIColor*)color withSize:(CGSize )imgSize withDrawBlock:(void(^)(CGSize imgSize) )drawBlock;

#pragma mark - 修正图片转向
+ (UIImage *)bc_fixOrientation:(UIImage *)aImage;
#pragma mark - 显示原始图片
+ (UIImage *)bc_imageWithOriginal:(NSString *)imgName;

#pragma mark -图片+文字

/**
 生成圆角边框图片

 @param radius 圆角
 @param color 填充颜色
 @param size 图片尺寸
 @param borderWidth 边框宽度
 @param borderColor 边框颜色
 @return image
 */
+ (UIImage*)bc_imageWithRoundedCornerRadius:(CGFloat)radius renderColor:(UIColor *)color renderSize:(CGSize)size borderWidth:(CGFloat)borderWidth borderCorlor:(UIColor*)borderColor;


/**
 生成带文字的圆角图片，宽度为文字的宽度+space，高度可以指定

 @param color 背景颜色
 @param text 文本
 @param font 文本尺寸
 @param textColor 文本颜色
 @param space 图片文本间距
 @param radius 圆角角度
 @param height 图片高度
 @return image
 */
+ (UIImage *)bc_imageWithBcakgroundColor:(UIColor *)color addText:(NSString *)text textFont:(UIFont *)font textColor:(UIColor *)textColor space:(NSInteger )space cornerRadius:(NSInteger )radius maxHeight:(NSInteger )height;


/**
 生成带文字的圆角图片，指定图片size，文字居中

 @param color color description
 @param text text description
 @param font font description
 @param textColor textColor description
 @param space space description
 @param radius radius description
 @param size size description
 @return return value description
 */
+ (UIImage *)bc_imageWithBackgroundColor:(UIColor *)color addText:(NSString *)text textFont:(UIFont *)font textColor:(UIColor *)textColor space:(NSInteger )space cornerRadius:(NSInteger )radius withSize:(CGSize )size;

@end
